package com.lancoo.ccas53.pojo.vo;

import com.lancoo.ccas53.entity.Teacher;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * @Author: mabolin
 * @Date: 2024-07-12-16:21
 * @Description:
 */
@Data
@Builder
@AllArgsConstructor //全参构造函数
@NoArgsConstructor  //无参构造函数
public class StudentTeachingClass implements Serializable {
    private Long teachingClassId;
    private String teachingClassName;
    @ApiModelProperty("0无需选课 1在线选课;2:分级教学 3:预选教学班")
    private Integer teachingClassType;
    @ApiModelProperty("修读性质：1主修2辅修")
    private Integer studyNature;
    @ApiModelProperty("教学班容量-学生人数")
    private Integer classNum;
    private Long courseId;
    private String courseName;
    @ApiModelProperty("课程代码")
    private String courseCode;
    @ApiModelProperty("课程学分")
    private Double credit;
    private String courseTypeId;
    @ApiModelProperty("课程类别")
    private String courseType;
    @ApiModelProperty("课程性质 1必修  2选修")
    private Integer courseNature;
    @ApiModelProperty("专业性质，1:公共课，2:专业课")
    private Integer majorProp;
    @ApiModelProperty("开课单位名称")
    private String courseCollegeName;
    @ApiModelProperty("选课人数")
    private Integer studentNumber;
    @ApiModelProperty("0未选 1已选 2退选 3管理员移除 null未选 ")
    private Integer flag = 0;
    @ApiModelProperty("0未选 1已选")
    private Integer status = 0;
    @ApiModelProperty("1非重修课程 2重修课程")
    private Integer courseFlag;
    @ApiModelProperty("课程环节区分  1课程 2环节")
    private Integer courseOrSegment;
    @ApiModelProperty("讲授学时")
    private int lectureHour;
    @ApiModelProperty("实验学时")
    private int experimentalHour;
    @ApiModelProperty("上机学时")
    private int computerHour;
    @ApiModelProperty("其它学时")
    private int otherHour;
    @ApiModelProperty("课程介绍/备注")
    private String description;
    @ApiModelProperty("教师列表")
    private List<Teacher> teachers;
    @ApiModelProperty("课表")
    private List<MobileScheduleDto> schedules;
    @ApiModelProperty("学院")
    private String baseCollegeId;
    @ApiModelProperty("学院名称")
    private String collegeName;
}
